package dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import conexao.ConnectionManager;
import modelo.Gol;
import modelo.Jogador;
import modelo.Jogo;

public class GolDaoImp extends GenericHibernateDao<Gol> implements GolDAO{
	private EntityManager manager;
	
	public GolDaoImp(){
		manager = ConnectionManager.getEntityManager();
	}
	@Override
	public Gol buscarPorId(long id) {
		return manager.find(Gol.class, id);
	}

	@Override
	public List<Gol> buscarPorJogo(Jogo jogo) {
		Query query = manager.createNamedQuery("Gol.buscarPorJogo");
		query.setParameter("jogo", jogo);
		List<Gol> gols = query.getResultList();
		return gols;
	}

	@Override
	public List<Gol> buscarPorJogador(Jogador jogador) {
		Query query = manager.createNamedQuery("Gol.buscarPorJogador");
		query.setParameter("jogador", jogador);
		List<Gol> gols = query.getResultList();
		return gols;
	}
	@Override
	public long buscarPorJogadorEJogo(Jogador jogador, Jogo jogo) {
		Query query = manager.createNamedQuery("Gol.buscarPorJogadorEJogo");
		query.setParameter("jogador", jogador);
		query.setParameter("jogo", jogo);
		return (long) query.getSingleResult();
		
	}

}
